package cn.edu.wynu.d12_api_object;
/*
Object类提供的对象克隆方法
protected Object clone()  对象克隆
当某个对象调用这个方法时，这个方法会复制一个一模一样的新对象返回

浅克隆：拷贝出的新对象，与原对象中的数据一模一样(引用类型拷贝的只是地址)
深克隆：对象中基本类型的数据直接拷贝。
       对象中的字符串数据拷贝的还是地址。
       对象中还包含的其他对象，不会拷贝地址，会创建新对象。
*/

public class Test2 {
    public static void main(String[] args) throws CloneNotSupportedException {
        // 掌握Object类提供的对象克隆方法
        // 1、protected Object clone()  对象克隆

        User u1 = new User(1,"张三", "123456",new double[]{99.9,88.8});

        User u2 = (User) u1.clone();
        System.out.println(u1.getId());
        System.out.println(u1.getName());
        System.out.println(u1.getPassword());
        System.out.println(u1.getScores());
        System.out.println("-----------------------");
        System.out.println(u2.getId());
        System.out.println(u2.getName());
        System.out.println(u2.getPassword());
        System.out.println(u2.getScores());
    }
}
